---
title: '@roots/sage'
description: 'Sage starter theme extension'
sidebar_label: '@roots/sage'
hide_title: true
hide_table_of_contents: true
---

import {Hero} from '@site/src/components/hero'

import IncludedExtensions from '@site/../../@roots/sage/docs/01-included-extensions.md'

<Hero
  title="@roots/sage"
  subtitle="Preset configuration for the Sage WordPress starter theme"
/>

## Installation

```sh npm2yarn
npm install @roots/sage --save-dev
```

## Usage

The [Sage docs](https://docs.roots.io/sage/10.x/compiling-assets) cover everything in more detail than can be found here.

## Included extensions

<IncludedExtensions />

## Acorn compatibility

[roots/sage](https://github.com/roots/sage) is built with the [roots/acorn](https://github.com/roots/acorn) framework. This preset guarantees compatibility with Acorn's API for enqueuing JS and CSS.

If you do not wish to use Acorn to enqueue assets you can disable the Acorn extension:

```ts title=bud.config.ts
export default async (bud: Bud) => {
  bud.sage.acorn.enable(false)
}
```

This will restore the default behavior of including the public path (e.g. `/app/themes/sage/public`) in entrypoints manifest values.
